Home automation systems include devices and software capable of controlling building functions such as lighting, climate control, security, and other functions. For example, home automation systems may provide for centralized control of light switches, dimmers, thermostats, heating ventilation and air conditioning (HVAC) systems, building sensors, and other household devices. Typical home automation systems may be operated using “control panel”-type hardware and/or software interfaces that allow a user to manually operate each home automation device. For example, the user may turn on lights by operating various wall switches and/or manually clicking various options in a home automation application executed by a standard computer.
Certain computing devices may implement conversational user interfaces, which may allow for back-and-forth interaction between the computing device and user. For example, a conversational user interface may maintain a memory of the current conversation and generate clarifying questions as part of the conversation. Typical conversational user interfaces may require complex machine learning algorithms and/or training using large data sets. Alternatively, Chatbots (also known as “chatterbots”) allow a programmer to use a scripting language to develop interactions with the user that respond to natural language requests in an apparently conversational way. Chatbots such as ELIZA have existed at least since the 1960s. Current computing devices may implement chatbots using a scripting and pattern matching language such as ChatScript.